-
Notifications
You must be signed in to change notification settings - Fork 375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Frontier machine and compiler configuration to fix issues with crayclanggpu and amdclanggpu #6771
Conversation
|
Testing is ongoing, and the results will be posted here once it finishes. So far, the test outcomes are not worse than the previous test results; in some cases, they are better. Please invite anyone to review this PR if you think it is necessary. |
Are you trying to get scream cases to build and run with this PR? |
This PR tries to fix some known build issues for machine frontier. No changes to machine frontier-scream-gpu. |
We want to abolish frontier-scream-gpu and be able to run scream cases with the frontier machine entry. Perhaps that will wait for another PR. |
@grnydawn If this PR can fix issue 6750 and 6755 (6764 might only be partially fixed for some cases), you should probably add fixes #xxxx in the description. |
@rljacob , Sure, I will work on removing frontier-scream-gpu with the Scream group after this PR. |
Just curious, why the downgrade in versions? esp. CMake? |
This is required to fix issue 6750 (looks like a CMake bug to be reported to Kitware). |
Also FYI (my comment in the file about -Wl,--allow-shlib-undefined). I would vote to leave it in to prevent similar issues, it's typically harmless.
|
This one can be restored if your prefer to do so, though it looks optional so far. |
@sarats , Some combinations of particular versions of CMake and Core mode work with the Scorpio build with threading, while others do not. Please see E3SM Issue #6750 for the discussions. |
@sarats , @dqwu , I have not observed any differences in test results, whether using the compiler flag or not. I will restore it if preferred. |
@grnydawn FYI, in GitHub, the correct format to auto-close multiple issues is: The key here is to separate the issue numbers with a comma, without any extra spaces between them. You can also use Fixes #xxxx, Fixes #yyyy |
@dqwu , I updated my PR description. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes are fine with me
Thank you all for your reviews. The test results of this PR are quite similar to the test results of the current Frontier machine/compiler configurations. The build time for CrayClang has improved, taking about half the build time on average.
|
* Changed from Core/24.07 to Core/24.00 * Changed from cmake/3.27.9 to cmake/3.21.3 * Restored '--allow-shlib-undefined --allow-multiple-definition' in CMAKE_EXE_LINKER_FLAGS * Removed 'craype-accel-amd-gfx90a' module load for amdclanggpu_frontier * Added two mosart source files into NOOPT_FILES to workaround to prevent optcg crayclanggpu build error
d37d52b
to
71b1a35
Compare
* Changed from Core/24.07 to Core/24.00 * Changed from cmake/3.27.9 to cmake/3.21.3 * Restored '--allow-shlib-undefined --allow-multiple-definition' in CMAKE_EXE_LINKER_FLAGS * Removed 'craype-accel-amd-gfx90a' module load for amdclanggpu_frontier * Added two mosart source files into NOOPT_FILES to workaround to prevent optcg crayclanggpu build error
The update includes:
Fixes #6750, Fixes #6755
Note: This PR disables OpenMP offload and OpenACC for the AMD compiler on Frontier.
Note: Optimization is disabled for the following MOSART source files:
[BFB] No baseline for Frontier yet.